package servico;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.faces.model.SelectItem;
import javax.naming.NamingException;

import com.sun.faces.taglib.jsf_core.SelectItemsTag;
import com.sun.org.apache.bcel.internal.generic.Select;

import material.EntidadeMaterial;
import equipamento.EntidadeEquipamento;
import util.ServiceLocator;

public class Servicos implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@PostConstruct
	public void iniciar() {
		System.out.println("O Bean Cadastro Funcionario Foi Iniciado");
	}

	@PreDestroy
	public void encerrar() {
		System.out.println("O Bean Cadastro Funcionario foi Encerrado");
	}
	
	private EntidadeServico servico = new EntidadeServico();
	private EntidadeEquipamento equipamento =  new EntidadeEquipamento();
	private EntidadeMaterial material = new EntidadeMaterial();
	private List<EntidadeEquipamento> equip = new ArrayList<EntidadeEquipamento>();
	private List<EntidadeMaterial> mat = new ArrayList<EntidadeMaterial>();

//	public Servicos() throws NamingException {
//		super();
//		Servico serv = (Servico) ServiceLocator
//		.getService("servicoBean/remote");
//		
//		setEquip(serv.buscaEquipamento());
//		setMat(serv.buscaMaterial());
//	}

	public EntidadeServico getServico() {
		return servico;
	}

	public void setServico(EntidadeServico servico) {
		this.servico = servico;
	}
	
	public List<EntidadeEquipamento> getEquip() {
		equip = new ServicoBean().buscaEquipamento();
		return equip;
	}

	public void setEquip(List<EntidadeEquipamento> equip) {
		this.equip = equip;
	}

	public List<SelectItem> getMat() {
		List<SelectItem> lista = new ArrayList<SelectItem>();
		mat = new ServicoBean().buscaMaterial();
		for(int i = 0; mat.size() <= i; i++)
		{
			SelectItem item = new SelectItem(mat.get(i));
			lista.add(item);
		}
		return lista;
	}

	public void setMat(List<EntidadeMaterial> mat) {
		this.mat = mat;
	}

	public String enviar() throws NamingException
	{
		Servico serv = (Servico) ServiceLocator
		.getService("servicoBean/remote");
		
		serv.addServico(getServico());
		
		return null;
		
	}

}
